package com.wkq;

public interface BST<E extends Comparable<E>> {
    int getSize();

    boolean isEmpty();

    /**
     * 添加元素
     *
     * @param e
     */
    void add(E e);

    /**
     * 从二分搜索树中判断是否存在元素e
     *
     * @param e
     * @return
     */
    boolean contains(E e);

    /**
     * 二叉搜索树的前序遍历
     */
    void prevOrder();

    /**
     * 二叉搜索树的中序遍历
     */
    void inOrder();

    /**
     * 二叉搜索树的后序遍历
     */
    void postOrder();

    /**
     * 二叉搜索树的层序遍历
     * 需要借助队列实现
     */
    void levelOrder();

    /**
     * 从二分搜索树中删除元素e
     */
    void remove(E e);

}
